From: emellor@ewan Date: Thu, 22 Sep 2005 10:21:37 +0000 (+0100) Subject: VMX guest memory calculation in python code is corrupted by changeset X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~16780^2~8 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=79e2c4bff39d071ef1a681f4ba505bddf61a5790;p=xen.git VMX guest memory calculation in python code is corrupted by changeset 6984, this patch fixes it. Also print vmx builder parameters before calling vmx builer, just like what's done before calling linux builder. With this patch, qemu dm using SDL can work, however qemu dm using VNC still has bug, we will fix it soon. Signed-off-by: Xin Li --- diff --git a/tools/python/xen/xend/image.py b/tools/python/xen/xend/image.py index 0ef3457326..dfea908827 100644 --- a/tools/python/xen/xend/image.py +++ b/tools/python/xen/xend/image.py @@ -300,6 +300,18 @@ class VmxImageHandler(ImageHandler): store_evtchn = self.vm.store_channel.port2 else: store_evtchn = 0 + + log.debug("dom = %d", self.vm.getDomain()) + log.debug("image = %s", self.kernel) + log.debug("control_evtchn = %d", self.device_channel.port2) + log.debug("store_evtchn = %d", store_evtchn) + log.debug("memsize = %d", self.vm.getMemoryTarget() / 1024) + log.debug("memmap = %s", self.memmap_value) + log.debug("cmdline = %s", self.cmdline) + log.debug("ramdisk = %s", self.ramdisk) + log.debug("flags = %d", self.flags) + log.debug("vcpus = %d", self.vm.getVCpuCount()) + ret = xc.vmx_build(dom = self.vm.getDomain(), image = self.kernel, control_evtchn = self.device_channel.port2, @@ -402,7 +414,7 @@ class VmxImageHandler(ImageHandler): args = args + vnc args = args + ([ "-d", "%d" % self.vm.getDomain(), "-p", "%d" % self.device_channel.port1, - "-m", "%s" % self.vm.getMemoryTarget() / 1024 ]) + "-m", "%s" % (self.vm.getMemoryTarget() / 1024)]) args = args + self.dmargs env = dict(os.environ) env['DISPLAY'] = self.display @@ -437,7 +449,7 @@ class VmxImageHandler(ImageHandler): """@see ImageHandler.getDomainMemory""" # for ioreq_t and xenstore static_pages = 2 - return mem + self.getPageTableSize(mem * 1024) + 4 * static_pages + return mem + self.getPageTableSize(mem / 1024) + 4 * static_pages def getPageTableSize(self, mem_mb): """Return the size of memory needed for 1:1 page tables for physical